package com.sl.au.entity;

import java.util.Date;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * 事件上报
 * 
 * @author 刘昆
 *
 */
@Entity
@Table(name = "sl_wcsi_EventReport")
public class EventReport extends Root{

	@Column(nullable = true,name="reportContent")
	private String reportContent;//上报内容
	
	@Column(nullable = true,name="reportMemo")
	private String reportMemo;//上报备注
	
	@ManyToOne 
	@JoinColumn(nullable = true,name="reportEventType")
	private EventType reportEventType;//事件类型（大类）

	@ManyToOne 
	@JoinColumn(nullable = true,name="realReportEventType")
	private EventType realReportEventType;//真实事件类型（大类）
	
	@Column(nullable = true,name="reportAccTime")
	private Date reportAccTime;//上报发生时间
	
	@ManyToOne 
	@JoinColumn(nullable = true,name="reportUser")
	private User reportUser;//上报人
	
	@Column(nullable = true,name="reportImgAdress")
	private String reportImgAdress;//图片地址
	
	@Column(nullable = true,name="longitude")
	private double longitude;//事件发生经度
	
	@Column(nullable = true,name="latitude")
	private double latitude;//事件发生纬度
	
	@Column(nullable = true,name="reportAdress")
	private String reportAdress;//事件发生地点描述
	
	@ManyToOne 
	@JoinColumn(nullable = true,name="reportEventToNetGrid")
	private GridAreaInfo reportEventToNetGrid;//事件所属网格
	
	@ManyToOne 
	@JoinColumn(nullable = true,name="reportEventVariable")
	private Option reportEventVariable;//事件上报状态（事件流转状态）
	
	
	@ManyToOne 
	@JoinColumn(nullable = true,name="reportEventAttrVariable")
	private Option reportEventAttrVariable;//事件上报属性状态（是否属实描述）

	@ManyToOne 
	@JoinColumn(nullable = true,name="reportEventOrg")
	private Option reportEventOrg;//事件上报来源
	
	public Option getReportEventOrg() {
		return reportEventOrg;
	}

	public void setReportEventOrg(Option reportEventOrg) {
		this.reportEventOrg = reportEventOrg;
	}

	public Option getReportEventAttrVariable() {
		return reportEventAttrVariable;
	}

	public void setReportEventAttrVariable(Option reportEventAttrVariable) {
		this.reportEventAttrVariable = reportEventAttrVariable;
	}

	public String getReportContent() {
		return reportContent;
	}

	public void setReportContent(String reportContent) {
		this.reportContent = reportContent;
	}
	
	
	public String getReportMemo() {
		return reportMemo;
	}

	public void setReportMemo(String reportMemo) {
		this.reportMemo = reportMemo;
	}

	public Date getReportAccTime() {
		return reportAccTime;
	}

	public void setReportAccTime(Date reportAccTime) {
		this.reportAccTime = reportAccTime;
	}

	public User getReportUser() {
		return reportUser;
	}

	public void setReportUser(User reportUser) {
		this.reportUser = reportUser;
	}

	public String getReportImgAdress() {
		return reportImgAdress;
	}

	public void setReportImgAdress(String reportImgAdress) {
		this.reportImgAdress = reportImgAdress;
	}

	public double getLongitude() {
		return longitude;
	}

	public void setLongitude(double longitude) {
		this.longitude = longitude;
	}

	public double getLatitude() {
		return latitude;
	}

	public void setLatitude(double latitude) {
		this.latitude = latitude;
	}

	public String getReportAdress() {
		return reportAdress;
	}

	public void setReportAdress(String reportAdress) {
		this.reportAdress = reportAdress;
	}

	public EventType getReportEventType() {
		return reportEventType;
	}

	public void setReportEventType(EventType reportEventType) {
		this.reportEventType = reportEventType;
	}

	public EventType getRealReportEventType() {
		return realReportEventType;
	}

	public void setRealReportEventType(EventType realReportEventType) {
		this.realReportEventType = realReportEventType;
	}

	public GridAreaInfo getReportEventToNetGrid() {
		return reportEventToNetGrid;
	}

	public void setReportEventToNetGrid(GridAreaInfo reportEventToNetGrid) {
		this.reportEventToNetGrid = reportEventToNetGrid;
	}

	public Option getReportEventVariable() {
		return reportEventVariable;
	}

	public void setReportEventVariable(Option reportEventVariable) {
		this.reportEventVariable = reportEventVariable;
	}
}
